package com.ruoyi.fantasy.mapper;

import com.huanzhidadi.fantasy.bean.domain.FantasyShopItem;
import com.ruoyi.fantasy.domain.FantasyShopItemBO;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 商店道具关系 数据层
 * 
 * @author wanghui
 * @date 2020-01-29
 */
public interface FantasyShopItemMapper 
{
	/**
     * 查询商店道具关系信息
     * 
     * @param id 商店道具关系ID
     * @return 商店道具关系信息
     */
	public FantasyShopItem selectFantasyShopItemById(Long id);

	/**
     * 查询商店道具关系列表
     * 
     * @param fantasyShopItem 商店道具关系信息
     * @return 商店道具关系集合
     */
	public List<FantasyShopItem> selectFantasyShopItemList(FantasyShopItem fantasyShopItem);
	
	/**
     * 新增商店道具关系
     * 
     * @param fantasyShopItem 商店道具关系信息
     * @return 结果
     */
	public int insertFantasyShopItem(FantasyShopItem fantasyShopItem);
	
	/**
     * 修改商店道具关系
     * 
     * @param fantasyShopItem 商店道具关系信息
     * @return 结果
     */
	public int updateFantasyShopItem(FantasyShopItem fantasyShopItem);
	
	/**
     * 删除商店道具关系
     * 
     * @param id 商店道具关系ID
     * @return 结果
     */
	public int deleteFantasyShopItemById(Long id);
	
	/**
     * 批量删除商店道具关系
     * 
     * @param ids 需要删除的数据ID
     * @return 结果
     */
	public int deleteFantasyShopItemByIds(String[] ids);

	/**
	 * 查询已分配的道具列表
	 * @param fantasyShopItemBO
	 * @return
	 */
    List<FantasyShopItemBO> selectAllocatedList(FantasyShopItemBO fantasyShopItemBO);

	/**
	 * 批量选择道具
	 * @param list
	 * @return
	 */
	int insertAllocItems(List<FantasyShopItem> list);

	/**
	 * 取消分配
	 * @param fantasyShopItemBO
	 * @return
	 */
    int deleteFantasyShopItem(FantasyShopItemBO fantasyShopItemBO);

	/**
	 * 批量取消道具分配
	 * @param shopId
	 * @param itemIdArray
	 * @return
	 */
	int deleteAllocItems(@Param("shopId") String shopId, @Param("array") Long[] itemIdArray);

	/**
	 * 查找带道具名称的商店道具信息
	 * @param id
	 * @return
	 */
	FantasyShopItemBO selectFantasyShopItemBOById(Long id);
}